package com.framework.service.core.service;

import com.framework.core.api.response.UploadRes;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;

/**
 * 文件上传接口
 * @author zhoubb
 * @version V1.0
 * @Date 2020/5/4 15:15
 * @since JDK 1.8
 */
public interface IFileService {

    /**
     * 上传文件至fastdfs
     * @param file
     * @return
     */
    UploadRes uploadFile(MultipartFile file);

    /**
     * 上传文件至OSS-用于隐私类文件
     * @param file
     * @return
     */
    UploadRes uploadFileToOss(MultipartFile file);


    /**
     * 上传文件至OSS-用于公开类文件
     * @param file
     * @return
     */
    UploadRes uploadOpenFileToOss(MultipartFile file);

    /**
     * 在线展示文件
     * @param fileName
     * @param response
     */
    void downloadFileFromOss(String fileName, HttpServletResponse response);

    /**
     * 上传文件至OSS-用于公开类文件
     * @param file
     * @return
     */
    UploadRes uploadOpenFileToOss(InputStream is);

}
